package com.zhixi.principle.lawofdemeterprinciple;

import com.zhixi.principle.lawofdemeterprinciple.operation.GroupLeader;
import com.zhixi.principle.lawofdemeterprinciple.operation.Student;
import com.zhixi.principle.lawofdemeterprinciple.operation.Teacher;

import java.util.ArrayList;

/**
 *
 * 迪米特法则
 *
 *  1、一个对象应该对其他对象保持最少的了解：不要让第一个对象(女朋友)知道第二个对象(女朋友)存在，最好都不认识，保持最少的了解（瞎扯淡）
 *  2、类与类关系越密切，耦合度越大
 *
 *  一个类应该对自己需要耦合或调用的类知道得最少，被耦合或调用的类的内部是如何复杂都和我没关系，那是你的的事情，
 *  我就知道你提供的这么多public方法，我就调用这么多，其他的我一概不关心
 *
 * @作者 ShuHaoNan
 * @邮箱 shuhaonan1@gmail.com
 * @时间 2020/11/14 18:46
 */
public class LawOfDemeterPrinciple {

    public static void main(String[] args) {
        ArrayList<Student> students = new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            students.add(new Student());
        }
        Teacher teacher = new Teacher();
        teacher.common(new GroupLeader(students));
    }

}
